Traditionally, clients of a data center are required to buy or rent physical servers, switches, and storage arrays to put into data centers to house items such as web applications, databases, VoIP servers, data servers, etc. This can be extremely costly for small businesses which may only need to run a small web application such as a storefront or a payroll application. Alternatively, the same client can rent web space on a database and web server, but is often limited to what can be done with it, number of users or databases that can be contained within, or how much traffic it can receive.
What is needed is a system where a client may purchase CPU cycles, storage, and network resources “a la carte,” being able to obtain only what is required by their business, no more, no less. It would be beneficial to the client to be able to purchase these resources on the fly, as needed, without having to leave the comfort of the office and having them work automatically. There would be nothing to hookup, nor anything to configure so that hardware works with one another. In addition to fully-functional servers, clients may lease shared resources and have them integrate with existing infrastructures seamlessly.
In the field of metropolitan area networks (MANs), a system is used to isolate users into virtual local area networks, or VLANs. Recently, the idea of encapsulating a VLAN inside another VLAN has been introduced simply to be able to house more users. While before network engineers were limited to 256 VLANs on most equipment, they may now be able to use 256×256 separate VLANs.
What is described herein is using the concepts of VLANs and virtualization on a large pooled system to be able to dynamically allocate network resources to users, as well as bridge and share network resources.
Herein, the term “computing device” refers to any electronic device with a processor and means for data storage. Used herein, the term “network connection” refers to any means to allow a plurality of computing devices to communicate. Further, the term “trunked” used herein refers to programmatically relating multiple network connections to each other to create redundancy and greater bandwidth in a single logical connection. The term “network packets” refers to a formatted message in the form of packets transmitted over a network. The term “hardware resource” refers to a networkable computing device. The term “virtual resource” refers to an allocation on a networkable computing device which refers to a virtual representation of a computing device or a software application, such as a database. Used herein, the term “management local area network”, sometimes referred to as a “MLAN”, refers to a LAN containing hardware or virtual resources used exclusively for the initialization, configuration, and maintenance of other LANs. Used herein, the term “data center” refers to a central storage complex containing a multitude of servers and network routing hardware. A “traditional data center” is a data center absent of virtualization. The term “virtual firewall” refers to a virtual implementation of a firewall with a virtual Ethernet port. Used herein, the term, “maintaining” refers to keeping a network resource functioning.